home *** CD-ROM | disk | FTP | other *** search
-
- #define KEEP_ALPHABET_DEFINES
-
- #include "Alphabet.h"
-
- //________________________________________________________________________
-
- Alphabet& Alphabet::clear (void)
- {
- int i;
-
- for (i=0; i < BUFSIZE; i++)
- buffer[i] = 0; // clear all buffer bits
-
- return *this;
- }
-
- //________________________________________________________________________
-
- Alphabet& Alphabet::operator+= (const Alphabet& other)
- {
- int i;
-
- for (i=0; i < BUFSIZE; i++)
- buffer[i] |= other.buffer[i]; // OR buffer bits
-
- return *this;
- }
-
- //________________________________________________________________________
-
- Alphabet& Alphabet::operator*= (const Alphabet& other)
- {
- int i;
-
- for (i=0; i < BUFSIZE; i++)
- buffer[i] &= other.buffer[i]; // AND buffer bits
-
- return *this;
- }
-
- //________________________________________________________________________
-
- Alphabet& Alphabet::operator-= (const Alphabet& other)
- {
- int i;
-
- for (i=0; i < BUFSIZE; i++)
- buffer[i] &= ~(other.buffer[i]); // "substract" buffer bits
-
- return *this;
- }
-
- //________________________________________________________________________
-
- Alphabet& Alphabet::complement (void)
- {
- int i;
-
- for (i=0; i < BUFSIZE; i++)
- buffer[i] = ~(buffer[i]); // invert buffer bits
-
- return *this;
- }
-
- //________________________________________________________________________
-
- int Alphabet::operator== (const Alphabet& other) const
- {
- int i;
-
- for (i=0; i < BUFSIZE; i++)
- if (buffer[i] != other.buffer[i])
- return 0;
-
- return 1;
- }
-